home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / brutil.arc / INT.ASM < prev    next >
Encoding:
Assembly Source File  |  1988-05-17  |  1.1 KB  |  89 lines

  1. CODE    SEGMENT
  2.     ASSUME    CS:CODE,DS:CODE
  3.     ORG    100H
  4. START:    MOV    SI,81H
  5. LOOP1:    SUB    BX,BX
  6.     SUB    DX,DX
  7. LOOP2:    LODSB
  8.     CMP    AL,' '
  9.     JZ    LOOPR
  10.     CMP    AL,13
  11.     JZ    LOOPX
  12.     CMP    AL,'0'
  13.     JC    LOOPE
  14.     CMP    AL,'9'+1
  15.     JC    LOOPO
  16.     AND    AL,5FH
  17.     CMP    AL,'A'
  18.     JC    LOOPE
  19.     CMP    AL,'G'
  20.     JNC    LOOPE
  21.     SUB    AL,7
  22. LOOPO:    AND    AL,15
  23.     INC    BX
  24.     MOV    CL,4
  25.     ROL    DX,CL
  26.     OR    DL,AL
  27.     JMP    LOOP2
  28. LOOPR:    OR    BX,BX
  29.     JZ    LOOP2
  30.     CALL    DSPINT
  31.     JMP    LOOP1
  32. LOOPX:    OR    BX,BX
  33.     JZ    EXIT
  34.     CALL    DSPINT
  35. EXIT:
  36. LOOPE:    RET
  37. DSPINT: MOV    AL,DL
  38.     MOV    DI,OFFSET INTNO
  39.     CALL    HEXB
  40.     MOV    BX,DX
  41.     ADD    BX,BX
  42.     ADD    BX,BX
  43.     SUB    AX,AX
  44.     PUSH    ES
  45.     MOV    ES,AX
  46.     MOV    DX,ES:[BX]
  47.     MOV    AX,ES:[BX+2]
  48.     POP    ES
  49.     MOV    DI,OFFSET SEGADR
  50.     CALL    HEXW
  51.     INC    DI
  52.     MOV    AX,DX
  53.     CALL    HEXW
  54.     MOV    DX,OFFSET MSG1
  55.     MOV    AH,9
  56.     INT    21H
  57.     RET
  58. HEXW:    PUSH    AX
  59.     MOV    AL,AH
  60.     CALL    HEXB
  61.     POP    AX
  62. HEXB:    PUSH    AX
  63.     MOV    CL,4
  64.     SHR    AL,CL
  65.     CALL    HEXN
  66.     POP    AX
  67. HEXN:    PUSH    AX
  68.     AND    AL,15
  69.     ADD    AL,90H
  70.     DAA
  71.     ADC    AL,40H
  72.     DAA
  73.     STOSB
  74.     POP    AX
  75.     RET
  76. MSG1    DB    'INT '
  77. INTNO    DB    'xxH '
  78. SEGADR    DB    'xxxx:xxxx',13,10,'$'
  79. CODE    ENDS
  80.     END    START
  81.     AL,40H
  82.     DAA
  83.     STOSB
  84.     POP    AX
  85.     RET
  86. MSG1    DB    'INT '
  87. INTNO    DB    'xxH '
  88. SEGADR    DB    'xxxx:xxxx',13,10,'$'
  89. CODE    ENDS